-- stack: in -- format: 8 (HyperCard 1) -- flags: 0x1000 (none) -- protect password hash: 0 -- maximum user level: 5 (scripting) -- window: Rect(x1=0, y1=0, x2=0, y2=0) -- screen: Rect(x1=0, y1=0, x2=0, y2=0) -- card dimensions: w=0 h=0 -- scroll: x=0 y=0 -- background count: 1 -- first background id: 2640 -- card count: 8 -- first card id: 6261 -- list block id: 6644 -- print block id: 0 -- font table block id: 0 -- style table block id: 0 -- free block count: 0 -- free size: 0 bytes -- total size: 117408 bytes -- stack block size: 6656 bytes -- created by hypercard version: 0x01208000 -- compacted by hypercard version: 0x01208000 -- modified by hypercard version: 0x01208000 -- opened by hypercard version: 0x01208000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8855225588552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0xAA55AA55AA55AA55 -- patterns[22]: 0xFF00FF00FF00FF00 -- patterns[23]: 0x8244394482010101 -- patterns[24]: 0x8814224188412214 -- patterns[25]: 0x8080413E080814E3 -- patterns[26]: 0x22048C7422179810 -- patterns[27]: 0xFF00FF00FF00FF00 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0xA29C41BE2AC914EB -- patterns[30]: 0x40A00000040A0000 -- patterns[31]: 0x8040200002040800 -- patterns[32]: 0xAAAAAAAAAAAAAAAA -- patterns[33]: 0xFF80808080808080 -- patterns[34]: 0x081C22C180010204 -- patterns[35]: 0xFF808080FF080808 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xBF00BFBFB0B0B0B0 -- patterns[38]: 0xFF7FBE5DA2418000 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0x0 ----- HyperTalk script ----- ----------------------------------------------------------------------- ----------------------------------------------------------------------- --------- MetroStack is ©1989 D.C. Mac Services, Arlington, VA -------- ---------------------- All Scripts by Will Cate ----------------------- ----------------------------------------------------------------------- ----------------------------------------------------------------------- on openStack global Q,oneVis,twoVis,tripOn,infoOn,startEnd, done,theStart,theEnd,boxText if the version < 1.2 then put "Sorry! Requires HyperCard 1.2 or greater!" with "Go Home" go home exit openStack end if put 0 into oneVis put 0 into twoVis put 0 into tripOn put 0 into infoOn put 1 into startEnd put 0 into theStart put 0 into theEnd put 0 into done put numToChar(34) into Q put empty into boxText end openStack -- these are the routines for calculating and displaying trip data -- on SetupTrip value global station,stationNum,done,startEnd,boxText,tripOn,infoOn set cursor to busy if tripOn = 1 then if value < 10 then put char 1 of station into stationNum delete char 1 of station TripRoutine station,stationNum set cursor to busy if done = 0 then put 2 into startEnd put "Click on destination station" & return & "(or click this box to cancel)" into bg fld 1 put bg fld 1 into boxText else put 1 into startEnd end if else set cursor to busy put char 1 to 2 of station into stationNum delete char 1 to 2 of station TripRoutine station,stationNum if done = 0 then put 2 into startEnd put "Click on destination station" & return & "(or click this box to cancel)" into bg fld 1 put bg fld 1 into boxText else put 1 into startEnd set cursor to busy end if end if end if if infoOn =1 then GetInfo value end if end SetupTrip on TripRoutine stat,statNum global tripOn,startEnd,theStart,theEnd, done,statName1,statName2,theFare1,theFare2,theFare3,infoOn set cursor to busy if tripOn = 1 then if startEnd = 1 then beep put statNum into theStart put stat into statName1 put 0 into done end if if startEnd = 2 then beep beep put statNum into theEnd put stat into statName2 set cursor to busy if theStart < theEnd then put item theStart of GetString(15002,theEnd) into theTime else put item theEnd of GetString(15002,theStart) into theTime end if if theStart < theEnd then put item theStart of GetString(15001,theEnd) into theFare1 else put item theEnd of GetString(15001,theStart) into theFare1 end if if theStart < theEnd then put item theEnd of GetString(15001,theStart) into theFare2 else put item theStart of GetString(15001,theEnd) into theFare2 end if if theStart < theEnd then put item theEnd of GetString(15002,theStart) into theFare3 else put item theStart of GetString(15002,theEnd) into theFare3 end if set cursor to busy InfoField theFare1,theTime,statName1,statName2,theFare2,theFare3 put 1 into startEnd put 1 into done put 0 into tripOn end if end if end TripRoutine -- this handler fills & displays the Info pop-up field according -- -- to whatever parameters are passed to it. -- on InfoField local1,local2,local3,local4,local5,local6 global tripOn set cursor to busy if tripOn = 1 then set numberFormat to "0.00" put local1/100 into local1 put local5/100 into local5 put local6/100 into local6 set cursor to busy put "From " & local3 & return & " to " & local4 & ":" & return & return & "Average time - " & local2 & " minutes." & return & "Rush hour - $" & local5 & return & "Non-rush - $" & local1 & return & "Sr. Citizen/Disabled - $" & local6 & return & "Average time: " into cd fld 1 end if set cursor to busy hide bg fld 1 show cd fld 1 end InfoField -- this is the routine for retrieving station info. -- on GetInfo which global infoOn put item 2 of GetString(15003,which) into cd fld 1 InfoField empty,empty,empty,empty,empty put 0 into infoOn end GetInfo